import { IPSDataEntity } from '../dataentity/ipsdata-entity';
import { IPSDEAction } from '../dataentity/action/ipsdeaction';
import { IPSWFProcess } from './ipswfprocess';

/**
 *
 * 继承父接口类型值[PROCESS]
 * @export
 * @interface IPSWFDEActionProcess
 */
export interface IPSWFDEActionProcess extends IPSWFProcess {
  /**
   * 实体行为
   *
   * @type {IPSDEAction}
   */
  getPSDEAction(): IPSDEAction | null;

  /**
   * 实体行为
   *
   * @type {IPSDEAction}
   */
  get psDEAction(): IPSDEAction | null;

  /**
   * 实体行为（必须存在）
   *
   * @type {IPSDEAction}
   */
  getPSDEActionMust(): IPSDEAction;

  /**
   * 实体对象
   *
   * @type {IPSDataEntity}
   */
  getPSDataEntity(): IPSDataEntity | null;

  /**
   * 实体对象
   *
   * @type {IPSDataEntity}
   */
  get psDataEntity(): IPSDataEntity | null;

  /**
   * 实体对象（必须存在）
   *
   * @type {IPSDataEntity}
   */
  getPSDataEntityMust(): IPSDataEntity;
}
